package com.connection.second.wallpaper.service;

import java.util.List;

import com.connection.second.wallpaper.domain.entity.PaperAlbum;
import com.connection.second.wallpaper.domain.entity.PaperUserPosting;
import com.connection.second.wallpaper.domain.entity.PaperWall;
import com.connection.second.wallpaper.domain.vo.PaperAlbumVo;
import com.connection.second.wallpaper.domain.vo.PaperWallVo;
import com.connection.second.wallpaper.domain.vo.UserPostingStatistics;

/**
 * 发布审核Service接口
 * 
 * @author FL
 * @date 2024-11-15
 */
public interface IPaperUserPostingService 
{
    /**
     * 查询发布审核
     * 
     * @param id 发布审核主键
     * @return 发布审核
     */
    public PaperUserPosting selectPaperUserPostingById(Long id);

    /**
     * 查询发布审核列表
     * 
     * @param paperUserPosting 发布审核
     * @return 发布审核集合
     */
    public List<PaperUserPosting> selectPaperUserPostingList(PaperUserPosting paperUserPosting);

    /**
     * 新增发布审核
     * 
     * @param paperUserPosting 发布审核
     * @return 结果
     */
    public int insertPaperUserPosting(PaperUserPosting paperUserPosting);

    /**
     * 修改发布审核
     * 
     * @param paperUserPosting 发布审核
     * @return 结果
     */
    public int updatePaperUserPosting(PaperUserPosting paperUserPosting);

    /**
     * 批量删除发布审核
     * 
     * @param ids 需要删除的发布审核主键集合
     * @return 结果
     */
    public int deletePaperUserPostingByIds(Long[] ids);

    /**
     * 删除发布审核信息
     * 
     * @param id 发布审核主键
     * @return 结果
     */
    public int deletePaperUserPostingById(Long id);

    public int userPostWallpaper(PaperWall paperWall);

    public int userPostAlbum(PaperAlbum paperAlbum);

    public List<UserPostingStatistics> getUserPostStatistics();

    List<PaperWallVo> selectUserWallpaperList(PaperUserPosting paperUserPosting);

    List<PaperAlbumVo> selectUserAlbumList(PaperUserPosting paperUserPosting);

    PaperAlbumVo selectAlbumById(Long id);

    PaperWallVo selectWallpaperById(Long id);
}
